% 1 - ορισμός. Τι είναι το Параллельные реакции
Diclib.com
Διαδικτυακό λεξικό

Τι (ποιος) είναι Параллельные реакции - ορισμός

Параллельные массивы

Параллельные реакции      

совместно протекающие химические реакции, у которых по крайней мере одно исходное вещество является общим (реже говорят о П. р. в случае разных исходных веществ и общего продукта). Примеры: нитрование фенола с образованием орто-, мета- и пара- (См. Мета-, орто-, пара-)нитрофенола (одни и те же исходные вещества), нитрование смеси бензола и толуола (общее исходное вещество - азотная кислота).

Параллельный массив         
В программировании, паралле́льный масси́в — структура данных для представления массива записей, которая физически состоит из отдельных однотипных массивов одинаковой длины для каждого из полей записи. Значения элементов с одинаковым порядковым номером в каждом массиве, логически принадлежат одной структуре.
Скорость химической реакции         

величина, характеризующая интенсивность реакции химической (См. Реакции химические). Скоростью образования продукта реакции называется количество этого продукта, возникающее в результате реакции за единицу времени в единице объёма (если реакция гомогенна) или на единице площади поверхности (если реакция гетерогенна). Для исходных веществ аналогичным образом определяется скорость их расходования. Количества веществ выражают в молях (См. Моль). Тогда скорости образования продуктов и расходования исходных веществ относятся как стехиометрия, коэффициенты этих веществ в уравнении реакции. Например, в случае реакции N2 + ЗН2 = 2NH3 скорость расходования водорода в 3 раза, а скорость образования аммиака в 2 раза больше скорости расходования азота. Отношение скорости образования продукта реакции, или скорости расходования исходного вещества, к соответствующему стехиометрическому коэффициенту называется С. х. р. В случае гомогенной реакции, происходящей в закрытой системе постоянного объёма, С. х. р. , где ci - концентрация продукта реакции, т. е. число молей его в единице объёма, bi - стехиометрический коэффициент этого вещества, t - время. Это уравнение применимо и к исходному веществу, если, как принято, стехиометрические коэффициенты исходных веществ считать отрицательными.

Для технических целей скорости гетерогенно-каталитических реакций обычно рассчитывают не на единицу поверхности катализатора, а на единицу массы катализатора или на единицу объёма слоя гранул катализатора.

С. х. р. может варьировать в чрезвычайно широких пределах - от очень малой (в случае геологического процессов, длящихся миллионы лет) до очень большой (в случае ионных реакций, завершающихся за миллионные доли секунды). О теории С. х. р. см. Кинетика химическая.

Для измерения С. х. р. служат разнообразные методы. Выбор метода определяется характером реакции и её скоростью. Не затрагивая реакций специальных типов (электродные, фотохимические, радиационно-химические), охарактеризуем основные методы измерения скоростей обычных реакций, обусловленных энергией теплового движения. При использовании статического метода реакцию проводят в замкнутом сосуде. О её скорости судят по изменению состава реагирующей смеси на основании анализа проб или по какому-либо свойству реагирующей смеси, зависящему от состава. В случае газовых реакций, сопровождаемых изменением числа молекул, часто следят за реакцией по изменению давления. Проточный метод заключается в том. что реагирующую смесь пропускают с постоянной скоростью сквозь зону реакции: для гетерогенной реакции - это обычно объём, заполненный гранулами катализатора; в случае гомогенной реакции - область повышенной температуры. Степень превращения исходных веществ в продукты определяют по составу смеси, выходящей из зоны реакции.

Оба указанных метода просты для осуществления, но не дают непосредственно значения С. х. р. В статической системе состав реагирующей смеси, а следовательно и С. х. р., изменяется во времени; поэтому требуется дифференцирование измеренной величины концентрации по времени для определения скорости реакции или интегрирование по времени теоретические выражения скорости реакции для сопоставления его с опытными данными. В случае проточного метода состав реагирующей смеси не зависит от времени, но различен в разных участках зоны реакции; поэтому сопоставление теоретического выражения для С. х. р. с результатами опыта требует предварительного интегрирования этого выражения по объёму зоны реакции.

Прямое измерение скорости гомогенной реакции достигается с помощью проточного перемешиваемого реактора. В сосуд, снабженный мощной мешалкой, с постоянной скоростью вводят исходные вещества и выводят реагирующую смесь так, чтобы её количество в реакционном сосуде было постоянно. При установившемся стационарном состоянии анализ отбираемой смеси показывает состав реагирующей смеси. Зная, кроме того, скорость отбора этой смеси, определяют количество вещества, образовавшегося в результате реакции за единицу времени, а отсюда - С. х. р. Для гетерогенно-каталитических процессов с неподвижным катализатором эквивалентом описанного метода является проточно-циркуляционный метод: однородность состава реагирующей смеси в зоне реакции достигается с помощью создаваемой насосом интенсивной циркуляции реагирующей смеси. Проточные перемешиваемые реакторы и проточно-циркуляционные системы принадлежат к классу безградиентных реакторов, называемых так потому, что в них практически отсутствуют градиенты (перепады) концентраций, а также температуры в зоне реакции.

Особые трудности возникают при изучении очень быстрых реакций в растворах. Если реакция успевает пройти в значительной степени за время, которое требуется для смешения растворов исходных веществ, то обычные методы непригодны. Задача измерения скоростей таких реакций решается с помощью релаксационных методов, разработанных М. Эйгеном. Система, в которой может происходить обратимая реакция, вначале находится в состоянии равновесия химического (См. Равновесие химическое). Затем весьма быстро изменяют параметр, влияющий на значение константы равновесия: температуру, давление или электрическое поле. Система переходит к новому состоянию равновесия в течение некоторого времени; этот процесс называется релаксацией (См. Релаксация). Следя за изменением состава каким-либо безынерционным методом (например, по электропроводности), определяют С. х. р. Удаётся наблюдать время релаксации до 10-6 сек: таким путём была измерена, например, скорость реакции Н++ OH- = H2O в воде.

Лит.: Кондратьев В. Н., Определение констант скорости газофазных реакций, М., 1971; Колдин Е., Быстрые реакции в растворе, пер. с англ., М., 1966; Проблемы теории и практики исследований в области катализа, под ред. В. А. Ройтера, К., 1973, гл. 3; Уэйт Н., Химическая кинетика, пер. с англ., М., 1974.

М. И. Тёмкич.

Βικιπαίδεια

Параллельный массив

В программировании, паралле́льный масси́в — структура данных для представления массива записей, которая физически состоит из отдельных однотипных массивов одинаковой длины для каждого из полей записи. Значения элементов с одинаковым порядковым номером в каждом массиве, логически принадлежат одной структуре. В качестве указателей на структуру используется общий индекс в параллельном массиве. Этот подход отличается от традиционного, при котором все поля структуры хранятся в соседних областях памяти. К примеру, можно объявить массив строкового типа для 100 имен, и массив целых чисел для 100 возрастов, и считать, что каждому имени соответствует возраст с таким же индексом записи.

Пример реализации параллельных массивов на C:

Пример реализации параллельных массивов на MQL4 (в этом языке отсутствует поддержка структур):

Пример реализации на Perl (использован ассоциативный массив для логической группировки компонентов параллельного массива):

Пример реализации на Python:

Пример альтернативной реализации на Python:

Пример реализации на bash:

У параллельных массивов есть ряд практических достоинств по сравнению с классическим подходом:

  • Они могут быть использованы в языках, которые поддерживают только массивы примитивных типов, но не поддерживают массивы записей, либо не поддерживают записи вовсе.
  • Параллельные массивы просты для понимания и использования, и часто используются там, где объявление структуры записи излишне.
  • Они могут сохранить ощутимый объем памяти в некоторых случаях, т.к. более эффективно решают вопрос выравнивания. К примеру, одним из полей структуры может быть единичный бит — при обычном подходе, неиспользуемые биты придется выравнять так, что единственный бит займет полные 8, 16 или 32 бита, тогда как параллельный массив позволит объединить по 32 или по 64 битовых поля в одном элементе, в зависимости от разрядности архитектуры процессора.
  • Если количество элементов мало, индексы массива занимают существенно меньше пространства, чем полноценные указатели, особенно на архитектурах с большой разрядностью.
  • Последовательное чтение единственного поля каждой записи в массиве очень быстро на современных компьютерах, т.к. это равноценно линейному проходу по единственному массиву, что дает идеальные локальность и поведение кэша.

Несмотря на это, у параллельных массивов есть несколько существенных недостатков, которые объясняют, почему они не используются повсеместно:

  • У них существенно хуже локальность при последовательном проходе по записям и чтении нескольких полей, что является типовой задачей.
  • Связь между полями одной записи может быть неочевидной и запутанной.
  • Достаточно малое количество языков поддерживает параллельные массивы, как полноценные структуры — язык и его синтаксис, как правило, не обозначают связь между массивами в параллельном массиве.
  • Изменение размера параллельного массива — достаточно дорогостоящая операция, т.к. требуется заново выделить память под каждый из субмассивов. Многоуровневые массивы являются частичным решением этой проблемы, но накладывают ограничение на производительность из–за введения дополнительного слоя перенаправлений, чтобы найти требуемый элемент.
  • При использовании параллельных массивов приходится печатать больше букв, чем при объявлении структуры записи. Это нерациональный подход к использованию рук программистов.

Плохая локальность является серьезным недостатком, но можно воспользоваться следующими подходами, чтобы уменьшить серьезность проблемы и её влияние на производительность:

  • Если у записи есть раздельные наборы полей, которые, как правило, используются вместе, можно поделить структуру на несколько, и сделать параллельный массив из таких частичных записей. Этот способ позволяет существенно увеличить производительность доступа к очень большим структурам, сохраняя их логическое объединение. Если это допустимо, некоторые поля структуры могут быть продублированы в различных субструктурах, но тогда на программиста ложится задача отслеживания изменения дублирующихся полей и обновления всех экземпляров.
  • Вместо индексов массивов можно использовать ссылки, но результирующая производительность сильно зависит от языка, компилятора и архитектуры процессора — подобное решение может быть неэффективным как по времени выполнения, так и по объему занимаемой памяти.
  • Еще одним вариантом является объединение полей совместимых типов в единый одномерный массив так, чтобы поля, принадлежащие к одной структуре, были записаны последовательно. К примеру, есть параллельный массив из записей для роста, веса и возраста — вместо трех раздельных массивов можно создать один, в котором записи будут иметь следующий вид: [рост1, вес1, возраст1, рост2, вес2, возраст2, ...], таким образом, для получения J–ного поля (из M) в I–той записи (из N), нужно обратиться к элементу с индексом (M * I + J). Некоторые компиляторы автоматически способны применять подобную оптимизацию для разворачивания массивов структур для адаптации под векторные процессоры и SIMD–инструкции.